home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d5 / xwing.arc / XWING.BAS (.txt) < prev   
Encoding:
GW-BASIC  |  1980-01-01  |  28.5 KB  |  733 lines

  1. 10  KEY OFF:CLS
  2. 20  SCREEN 0
  3. 30  WIDTH 40
  4. 40  PRINT"LINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE"
  5. 50  PRINT"LINEVARPTRSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDCOLORLINE"
  6. 60  PRINT"LINECALL                                   CALLLINE"
  7. 70  PRINT"LINECALL            2060-A.BAS             CALLLINE"
  8. 80  PRINT"LINECALL              XWING                CALLLINE"
  9. 90  PRINT"LINECALL                                   CALLLINE"
  10. 100  PRINT"LINECALL                                   CALLLINE"
  11. 110  PRINT"LINECALL BROUGHT TO YOU BY THE MEMBERS OF  CALLLINE"
  12. 120  PRINT"LINECALL      POINTPOINTPOINTPOINTPOINT POINTPOINTPOINTPOINTPOINT POINTPOINTPOINTPOINTPOINT POINTPOINTPOINTPOINTPOINT      CALLLINE"
  13. 130  PRINT"LINECALL        CSRLIN   CSRLIN   CSRLIN CSRLIN     CSRLIN   CSRLIN      CALLLINE"
  14. 140  PRINT"LINECALL        CSRLIN   CSRLINPOINTPOINTPOINTCSRLIN CSRLIN     CSRLIN   CSRLIN      CALLLINE"
  15. 150  PRINT"LINECALL        CSRLIN   CSRLIN     CSRLIN     CSRLIN   CSRLIN      CALLLINE"
  16. 160  PRINT"LINECALL      POINTPOINTCSRLINPOINTPOINT CSRLIN     CSRLINPOINTPOINTPOINTPOINT CSRLINPOINTPOINTPOINTCSRLIN      CALLLINE"
  17. 170  PRINT"LINECALL                                   CALLLINE"
  18. 180  PRINT"LINECALL      International PC Owners      CALLLINE"
  19. 190  PRINT"LINECALL                                   CALLLINE"
  20. 200  PRINT"LINECALLP.O. Box 10426, Pittsburgh PA 15234CALLLINE"
  21. 210  PRINT"LINECALL                                   CALLLINE"
  22. 220  PRINT"LINECLSSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND'LINE"
  23. 230  PRINT"LINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINELINE"
  24. 240  PRINT
  25. 250  PRINT "       PRESS ANY KEY TO CONTINUE
  26. 260  A$=INKEY$: IF A$="" THEN 260
  27. 270  WIDTH 80
  28. 280  CLS
  29. 1000   REM * STAR PILOT GAME *
  30. 1010   REM * WRITTEN BY GEORGE BLANK, LEECHBURG, PA. *
  31. 1020   REM * FOR  PUBLIC DOMAIN UNLESS MOVIEMAKERS OBJECT *
  32. 1030   REM * VERSION 4.0    SEPTEMBER 25,1978 *
  33. 1040   REM * MODIFIED TO RUN ON THE IBM PC BY ERNEST *
  34. 1050   REM * SMITH AND RAYMOND ROGERS, HOUSTON, TEXAS *
  35. 1060   REM * DECEMBER 82 *
  36. 1070   KEY OFF:CLS:WIDTH 80:DEF SEG=0:A=PEEK(&H410):POKE &H410,(A AND &HCF) OR &H20
  37. 1080   WIDTH 40:SCREEN 1:SCREEN 0:WIDTH 80:WIDTH 40:SCREEN 1:COLOR 0,1
  38. 1090   GOTO 1200
  39. 1100   V=V-1:IF V<-3 THEN V=-3
  40. 1110   RETURN
  41. 1120   W=W-1:IF W<-5 THEN W=-5
  42. 1130   RETURN
  43. 1140   W=W+1:IF W>5 THEN W=5
  44. 1150   RETURN
  45. 1160   V=V+1:IF V>3 THEN V=3
  46. 1170   RETURN
  47. 1180   KEY(1) ON:KEY(2) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON:RETURN
  48. 1190   KEY(1) STOP:KEY(2) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP:RETURN
  49. 1200     LOCATE 8,1:PRINT"***************************************";
  50. 1210     PRINT"*                                     *";
  51. 1220     PRINT"*      X W I N G   F I G H T E R      *";
  52. 1230     PRINT"*                                     *";
  53. 1240     PRINT"***************************************";
  54. 1250   SOUND 525.25,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 587.33,18.2/6:SOUND 1046.6,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 587.33,18.2/6
  55. 1260   SOUND 1046.5,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 698.46,18.2/6:SOUND 587.33,18.2
  56. 1270  LOCATE 16,1:PRINT"DO YOU WANT INSTRUCTIONS (Y OR N)?";
  57. 1280   K$=INKEY$:IF K$="Y" OR K$="y" GOTO 6930
  58. 1290   IF K$<>"N" AND K$<>"n" GOTO 1270
  59. 1300  CLS:CLEAR:DEFINT A-Z:DEFSNG O,G,J,S
  60. 1310  RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  61. 1320   ON KEY(1) GOSUB 5350:ON KEY(2) GOSUB 5750:ON KEY(11) GOSUB 1100:ON KEY(12) GOSUB 1120:ON KEY(13) GOSUB 1140:ON KEY(14) GOSUB 1160
  62. 1330   LOCATE 8,1:PRINT "IMPERIAL FIGHTER:  ":DRAW "C2;BM145,59;M+0,0;BM+10,1;M+0,-2;M+2,2;M+0,-2;BM+10,-1;M+0,4;BM+6,-4;M+0,4;M+0,-2;M-6,0"
  63. 1340   DIM IM(6):DIM IM1(6):DIM IM2(6):DIM IM3(6):GET (145,59)-(145,59),IM:GET (145,59)-(145,59),IM1:GET (155,58)-(157,60),IM2:GET (167,57)-(173,61),IM3
  64. 1350   DIM IM4(13):IM4(0)=22:IM4(1)=7:IM4(2)=128:IM4(3)=-32760:IM4(4)=2048:IM4(5)=128:IM4(6)=-22008:IM4(7)=-22358:IM4(8)=128:IM4(9)=-32760:IM4(10)=2048:IM4(11)=128:IM4(12)=8
  65. 1360   DIM IM5(20):IM5(0)=26:IM5(1)=9:IM5(2)=128:IM5(3)=-32768:IM5(4)=128:IM5(5)=-32768:IM5(6)=128:IM5(7)=-32768:IM5(8)=128:IM5(9)=-32768:IM5(10)=-21846:IM5(11)=-32598:IM5(12)=128
  66. 1370   IM5(13)=-32768:IM5(14)=128:IM5(15)=-32768:IM5(16)=128:IM5(17)=-32768:IM5(18)=128:IM5(19)=-32768
  67. 1380   DIM IM6(44):IM6(0)=34:IM6(1)=17:IM6(2)=2048:IM6(5)=32:IM6(7)=-32768:IM6(9)=512:IM6(12)=-32760:IM6(14)=8192:IM6(15)=32:IM6(17)=2176:IM6(20)=2:IM6(23)=128:IM6(25)=8192:IM6(28)=8
  68. 1390   IM6(29)=128:IM6(30)=512:IM6(31)=2:IM6(33)=-30720:IM6(36)=32:IM6(38)=-32768:IM6(40)=512:IM6(43)=8
  69. 1400   DIM IM7(44)
  70. 1410   IM7(0)=30:IM7(1)=21:IM7(2)=-22006:IM7(3)=-22358:IM7(4)=32:IM7(5)=8192:IM7(6)=-21846:IM7(7)=-32598:IM7(8)=2048:IM7(9)=128
  71. 1420   IM7(10)=2048:IM7(11)=128:IM7(12)=2048:IM7(13)=128:IM7(14)=2048:IM7(15)=128:IM7(16)=2048:IM7(17)=128:IM7(18)=2048:IM7(19)=128
  72. 1430   IM7(20)=2560:IM7(21)=32:IM7(22)=2048:IM7(23)=128:IM7(24)=8704:IM7(25)=128:IM7(26)=2048:IM7(27)=128:IM7(28)=2048:IM7(29)=128
  73. 1440   IM7(30)=2048:IM7(31)=128:IM7(32)=2048:IM7(33)=128:IM7(34)=2048:IM7(35)=128:IM7(36)=2048:IM7(37)=128:IM7(38)=-22518:IM7(39)=-22358
  74. 1450   IM7(40)=2592:IM7(41)=8192:IM7(42)=-21846:IM7(43)=-32598
  75. 1460   DIM IM8(102)
  76. 1470   IM8(0)=50:IM8(1)=29:IM8(3)=2048:IM8(7)=10:IM8(10)=2048:IM8(11)=128:IM8(14)=8200:IM8(17)=2048:IM8(18)=8:IM8(21)=514
  77. 1480   IM8(25)=-32640:IM8(28)=8192:IM8(29)=32:IM8(32)=2184:IM8(35)=514:IM8(36)=2:IM8(38)=2048:IM8(39)=-32760:IM8(40)=128:IM8(42)=8352
  78. 1490   IM8(43)=-32736:IM8(45)=8194:IM8(46)=2176:IM8(47)=128:IM8(48)=512:IM8(49)=34:IM8(50)=-32766:IM8(51)=128:IM8(52)=10250:IM8(54)=-24448
  79. 1500   IM8(55)=8704:IM8(56)=32:IM8(58)=136:IM8(59)=-24446:IM8(61)=-32256:IM8(62)=514:IM8(63)=128:IM8(65)=-30592:IM8(66)=8:IM8(68)=8192
  80. 1510   IM8(69)=8224:IM8(72)=8200:IM8(73)=128:IM8(75)=512:IM8(76)=34:IM8(79)=-22528:IM8(80)=128:IM8(83)=8224:IM8(86)=2048:IM8(87)=8
  81. 1520   IM8(90)=2050:IM8(94)=136:IM8(97)=10240:IM8(101)=8
  82. 1530   LOCATE 10,1:PRINT "DARTH VADER     :  ":DRAW "C2;BM145,75;M+0,0;BM+10,1;M+0,-2;M+2,2;M+0,-2;BM+11,-1;M-1,1;M+0,2;M+1,1;BM+4,-4;M+1,1;M+0,2;M-1,1;BM+1,-2;M-6,0"
  83. 1540   DIM DV(6):DIM DV1(6):DIM DV2(6):DIM DV3(6):GET (145,75)-(145,75),DV:GET (145,75)-(145,75),DV1:GET (155,74)-(157,76),DV2:GET (167,73)-(173,77),DV3
  84. 1550   DIM DV4(13)
  85. 1560   DV4(0)=22:DV4(1)=7:DV4(2)=8:DV4(3)=8320:DV4(4)=8192:DV4(5)=128:DV4(6)=-22008:DV4(7)=-22358:DV4(8)=128:DV4(9)=8200
  86. 1570   DV4(10)=8192:DV4(11)=8:DV4(12)=128
  87. 1580   DIM DV5(20)
  88. 1590   DV5(0)=26:DV5(1)=9:DV5(2)=8:DV5(3)=8:DV5(4)=32:DV5(5)=2:DV5(6)=128:DV5(7)=-32768:DV5(8)=128:DV5(9)=-32768
  89. 1600   DV5(10)=-21846:DV5(11)=-32598:DV5(12)=128:DV5(13)=-32768:DV5(14)=128:DV5(15)=-32768:DV5(16)=32:DV5(17)=2:DV5(18)=8:DV5(19)=8
  90. 1610   DIM DV6(32)
  91. 1620   DV6(0)=30:DV6(1)=15:DV6(2)=-22528:DV6(4)=2:DV6(6)=8:DV6(8)=34:DV6(10)=-32640:DV6(12)=8320:DV6(14)=2176:DV6(16)=512
  92. 1630   DV6(19)=2176:DV6(21)=2080:DV6(23)=2056:DV6(25)=8194:DV6(27)=-32768:DV6(29)=2:DV6(31)=168
  93. 1640   DIM DV7(44)
  94. 1650   DV7(0)=32:DV7(1)=21:DV7(2)=10752:DV7(3)=-24406:DV7(4)=-32768:DV7(5)=-30720:DV7(6)=-22014:DV7(7)=682:DV7(8)=520:DV7(9)=-30688
  95. 1660   DV7(10)=544:DV7(11)=8224:DV7(12)=512:DV7(13)=32:DV7(14)=512:DV7(15)=32:DV7(16)=512:DV7(17)=32:DV7(18)=512:DV7(19)=32
  96. 1670   DV7(20)=512:DV7(21)=136:DV7(22)=512:DV7(23)=32:DV7(24)=2048:DV7(25)=160:DV7(26)=512:DV7(27)=32:DV7(28)=512:DV7(29)=32
  97. 1680   DV7(30)=512:DV7(31)=32:DV7(32)=512:DV7(33)=32:DV7(34)=520:DV7(35)=544:DV7(36)=546:DV7(37)=2080:DV7(38)=-21888:DV7(39)=-24534
  98. 1690   DV7(40)=546:DV7(41)=-32640:DV7(42)=-22006:DV7(43)=170
  99. 1700   DIM DV8(76)
  100. 1710   DV8(0)=46:DV8(1)=25:DV8(3)=10752:DV8(4)=128:DV8(6)=-32768:DV8(7)=32:DV8(9)=-22526:DV8(10)=8:DV8(12)=512:DV8(13)=2
  101. 1720   DV8(16)=-32640:DV8(18)=512:DV8(19)=8224:DV8(21)=2048:DV8(22)=2056:DV8(24)=8192:DV8(25)=2082:DV8(27)=-32766:DV8(28)=-30592:DV8(30)=-32248
  102. 1730   DV8(31)=10240:DV8(32)=128:DV8(33)=-30712:DV8(34)=2048:DV8(35)=128:DV8(36)=-24536:DV8(37)=2048:DV8(38)=128:DV8(39)=-32630:DV8(40)=2048
  103. 1740   DV8(41)=672:DV8(42)=-32760:DV8(44)=2184:DV8(45)=10:DV8(47)=8322:DV8(48)=32:DV8(50)=-32640:DV8(51)=128:DV8(53)=-32224:DV8(56)=-30712
  104. 1750   DV8(59)=-24062:DV8(62)=-32768:DV8(63)=168:DV8(65)=8192:DV8(66)=136:DV8(68)=2048:DV8(69)=136:DV8(71)=512:DV8(72)=136:DV8(75)=168
  105. 1760   LOCATE 12,1:PRINT "DEATH STAR      :  ":DRAW "C3;BM145,91;M+0,0;BM+11,-1;M-1,1;M+2,0;M-1,1;BM+12,-3;M+1,0;M+1,1;M-3,0;M+0,1;M+3,0;M-1,1;M-1,0"
  106. 1770   DRAW "C3;BM+12,-5;M+2,0;M+1,1;M-4,0;M-1,1;M+6,0;M+0,1;M-6,0;M+0,1;M+6,0;M-1,1;M-4,0;M+1,1;M+2,0"
  107. 1780   DIM DS(8):DIM DS1(8):DIM DS2(8):DIM DS3(8):DIM DS4(8):GET (145,91)-(145,91),DS:GET (145,91)-(145,91),DS1:GET (155,90)-(157,92),DS2:GET (167,89)-(170,92),DS3:GET (178,87)-(184,93),DS4
  108. 1790   DIM EXPL3(18):DIM EXPL4(18):DIM EXPL5(18):DIM EXPL6(18):DIM EXPL7(18):DIM EXPL8(18)
  109. 1800   DATA 22,11,0,0,0,8194,0,-32608,-22006,2560,-32598,-22006,128,168,8706,0,0,0,0
  110. 1810   FOR I=0 TO 18:READ EXPL3(I):NEXT I
  111. 1820   DATA 22,11,-30720,2048,136,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30720,0
  112. 1830   FOR I=0 TO 18:READ EXPL4(I):NEXT I
  113. 1840   DATA 22,11,-30712,512,136,8194,-32760,-24416,-21974,-21976,-22358,-21974,-32608,2216,-30206,512,138,-30712,128
  114. 1850   FOR I=0 TO 18:READ EXPL5(I):NEXT I
  115. 1860   DATA 22,11,-30712,2048,136,8194,-24536,-32608,-22006,-21976,-22358,-22006,-24448,10408,8706,2048,-32632,-30712,128
  116. 1870   FOR I=0 TO 18:READ EXPL6(I):NEXT I
  117. 1880  DATA  22,11,-30688,2048,2080,8194,-32736,-32608,-21974,-22008,-22358,-22006,-24448,10408,8706,2048,-32632,-30688,32
  118. 1890   FOR I=0 TO 18:READ EXPL7(I):NEXT I
  119. 1900   DATA 22,11,-30688,2048,2184,-30718,-24544,-32608,-22006,-21848,-22358,-22006,-23936,10274,-30206,2048,-32632,-30688,32
  120. 1910   FOR I=0 TO 18:READ EXPL8(I):NEXT I
  121. 1920   LOCATE 17,1:PRINT "SELECT SKILL LEVEL FROM 0 TO 3"
  122. 1930   S$=INKEY$:IF S$<>"0" AND S$<>"1" AND S$<>"2" AND S$<>"3" GOTO 1920
  123. 1940   SKILL=VAL(S$):CLS
  124. 1950   DIM LASAR(381)
  125. 1960   LASAR(0)=148:LASAR(1)=40:LASAR(2)=64:LASAR(11)=5136:LASAR(20)=16385:LASAR(21)=16385:LASAR(29)=5120:LASAR(31)=20:LASAR(38)=256:LASAR(39)=64:LASAR(40)=256:LASAR(41)=64:LASAR(48)=20
  126. 1970   LASAR(50)=5120:LASAR(57)=16385:LASAR(60)=16385:LASAR(66)=5120:LASAR(70)=20:LASAR(75)=256:LASAR(76)=64:LASAR(79)=256:LASAR(85)=4:LASAR(89)=20480:LASAR(94)=20480:LASAR(99)=5
  127. 1980   LASAR(103)=1280:LASAR(109)=80:LASAR(113)=80:LASAR(118)=1280:LASAR(122)=5:LASAR(128)=20480:LASAR(131)=20480:LASAR(138)=5:LASAR(140)=1280:LASAR(148)=80:LASAR(150)=80
  128. 1990   LASAR(157)=1024:LASAR(159)=1:LASAR(167)=16385:LASAR(168)=5120:LASAR(177)=276:LASAR(178)=64:LASAR(186)=256:LASAR(187)=84:LASAR(196)=21505:LASAR(205)=5120:LASAR(206)=16385
  129. 2000   LASAR(214)=256:LASAR(215)=64:LASAR(216)=20:LASAR(224)=4:LASAR(225)=256:LASAR(233)=20480:LASAR(235)=20480:LASAR(242)=1280:LASAR(245)=5:LASAR(252)=80:LASAR(255)=80
  130. 2010   LASAR(261)=5:LASAR(264)=1280:LASAR(270)=20480:LASAR(274)=20480:LASAR(279)=1280:LASAR(284)=5:LASAR(289)=80:LASAR(294)=80:LASAR(298)=1:LASAR(303)=1024:LASAR(307)=5120
  131. 2020   LASAR(313)=16385:LASAR(316)=256:LASAR(317)=64:LASAR(323)=20:LASAR(326)=20:LASAR(332)=256:LASAR(333)=64:LASAR(335)=16385:LASAR(342)=5120:LASAR(344)=5120:LASAR(352)=16385
  132. 2030   LASAR(353)=256:LASAR(354)=64:LASAR(362)=20:LASAR(363)=20:LASAR(371)=256:LASAR(372)=16448:LASAR(381)=4096
  133. 2040   REM * INITIALIZE VARIABLES *
  134. 2050   M=INT(RND*61)+10:N=INT(RND*21)+10:O=INT(RND*32001)+70000
  135. 2060   E=INT(RND*61)+10:F=INT(RND*21)+10:G=25000
  136. 2070   H=INT(RND*61)+10:I=INT(RND*21)+10:J=INT(RND*32001)+40000
  137. 2080   Q=5:Z=3
  138. 2090   IMX=38:IMY=21:IMR1=1:IMR2=1
  139. 2100   DVX=38:DVY=21:DVR1=1:DVR2=1
  140. 2110   IF SKILL=0 THEN A1=5:A2=0:BYPASS=3
  141. 2120   IF SKILL=1 THEN A1=3:A2=0:BYPASS=2
  142. 2130   IF SKILL=2 THEN A1=2:A2=45:BYPASS=1
  143. 2140   IF SKILL=3 THEN A1=2:A2=30
  144. 2150  K$="5"
  145. 2160    LINE (1,1)-(76,42),3,B
  146. 2170   DRAW "C3;BM2,21;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+12,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0;BM+6,0;M+0,0"
  147. 2180   DRAW "C3;BM38,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,6;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0;BM+0,3;M+0,0"
  148. 2190   LOCATE 8,1:PRINT "REPUBLIC      X-WING     STAR FIGHTER"
  149. 2200   LOCATE 10,5:PRINT "TORPEDOES"
  150. 2210  LOCATE 12,1:PRINT "HOR.   VERT. DIRECTION"
  151. 2220   LOCATE 15,1:PRINT  "SPEED MACH"
  152. 2230   LOCATE 17,1:PRINT "RADAR TARGETS"
  153. 2240   LOCATE 18,8:PRINT "KM TO IMPERIAL FIGHTER"
  154. 2250   LOCATE 19,8:PRINT "KM TO DARTH VADER"
  155. 2260   LOCATE 20,8:PRINT "KM TO DEATH STAR"
  156. 2270   LOCATE 22,1:PRINT "TIME REMAINING"
  157. 2280   PLAY"T250"
  158. 2290    SEC1=VAL(RIGHT$(TIME$,2))
  159. 2300   GOSUB 1180
  160. 2310   REM * MASTER CONTROL ROUTINE *
  161. 2320   GOSUB 1190
  162. 2330   PUT (38,21),DS1
  163. 2340   LOCATE 10,1:PRINT Z
  164. 2350  LOCATE 13,1:PRINT W;"     ";-V
  165. 2360   LOCATE 15,12:PRINT Q*10
  166. 2370   GS=G-S:IF GS<0 THEN GS=0
  167. 2380   LOCATE 18,1:PRINT GS
  168. 2390   JS=J-S:IF JS<0 THEN JS=0
  169. 2400   LOCATE 19,1:PRINT JS
  170. 2410   OS=O-S:IF OS<0 THEN OS=0
  171. 2420   LOCATE 20,1:PRINT OS
  172. 2430   LOCATE 22,16:PRINT A1;":";A2NEW
  173. 2440   SOUND 37*Q,1
  174. 2450   PUT (38,21),DS1
  175. 2460   GOSUB 1180
  176. 2470   REM * DISPLAY DEATH STAR *
  177. 2480   IF O-S=30000 OR O-S>30000 GOTO 2840
  178. 2490   IF O-S<20000 AND DSTAR2=0 THEN DSTAR2=1:DSFLAG=1:DS(0)=DS2(0):DS(1)=DS2(1):DS(2)=DS2(2):DS(3)=DS2(3)
  179. 2500   IF O-S<10000 AND DSTAR3=0 THEN DSTAR3=1:DSFLAG=2:DS(0)=DS3(0):DS(1)=DS3(1):DS(2)=DS3(2):DS(3)=DS3(3)
  180. 2510   IF O-S<5000 AND DSTAR4=0 THEN DSTAR4=1:DSFLAG=3:DS(0)=DS4(0):DS(1)=DS4(1):DS(2)=DS4(2):DS(3)=DS4(3):DS(4)=DS4(4):DS(5)=DS4(5):DS(6)=DS4(6):DS(7)=DS4(7):DS(8)=DS4(8)
  181. 2520   IF FLAG1<>BYPASS THEN FLAG1=FLAG1+1:GOTO 2550
  182. 2530   FLAG1=0
  183. 2540   M=M+INT(RND*5)-2:N=N+INT(RND*5)-2
  184. 2550   M=M-W:N=N-V
  185. 2560   IF M<2  THEN  M=2+INT(RND*3)
  186. 2570   IF M>69 THEN  M=69-INT(RND*3)
  187. 2580   IF N<2  THEN  N=2+INT(RND*3)
  188. 2590   IF N>35 THEN  N=35-INT(RND*3)
  189. 2600   GOSUB 1190
  190. 2610   PUT (M,N),DS
  191. 2620   IF DSNEW=0 THEN DSNEW=1:GOTO 2680
  192. 2630   IF DSFLAG=0 GOTO 2670
  193. 2640   IF DSFLAG=1 THEN DSFLAG=0:PUT (MP,NP),DS1:GOTO 2680
  194. 2650   IF DSFLAG=2 THEN DSFLAG=0:PUT (MP,NP),DS2:GOTO 2680
  195. 2660   IF DSFLAG=3 THEN DSFLAG=0:PUT (MP,NP),DS3:GOTO 2680
  196. 2670   PUT(MP,NP),DS
  197. 2680   GOSUB 1180
  198. 2690   MP=M:NP=N
  199. 2700   IF O-S>10000 OR FLAG=1 GOTO 2840
  200. 2710   GOSUB 1190
  201. 2720   FOR K=1 TO 2
  202. 2730    LOCATE 24,1:PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***";
  203. 2740   PLAY "L2 N0"
  204. 2750    LOCATE 24,1:PRINT "                                       ";
  205. 2760   PLAY "L16 N0"
  206. 2770   NEXT K
  207. 2780    LOCATE 24,1:PRINT "*** DEATH STAR WITHIN TORPEDO RANGE ***";
  208. 2790    PLAY "L1 N0":PLAY "L1 N0"
  209. 2800    LOCATE 24,1:PRINT "                                       ";
  210. 2810   GOSUB 1180
  211. 2820   FLAG=1
  212. 2830   REM * DISPLAY IMPERIAL FIGHTER *
  213. 2840   GOSUB 1190
  214. 2850   IF G-S>26000 THEN GOSUB 1180:GOTO 3910
  215. 2860   IF G-S<20000 AND IMPFIGH2=0 THEN IMPFIGH2=1:IMFLAG=1:IM(0)=IM2(0):IM(1)=IM2(1):IM(2)=IM2(2):IM(3)=IM2(3):IMX=37:IMY=20:IMR1=2:IMR2=2
  216. 2870   IF G-S<10000 AND IMPFIGH3=0 THEN IMPFIGH3=1:IMFLAG=2:IM(0)=IM3(0):IM(1)=IM3(1):IM(2)=IM3(2):IM(3)=IM3(3):IM(4)=IM3(4):IM(5)=IM3(5):IM(6)=IM3(6):IMX=35:IMY=19:IMR1=4:IMR2=3
  217. 2880   IF FLAG2<>BYPASS THEN FLAG2=FLAG2+1:GOTO 2910
  218. 2890   FLAG2=0
  219. 2900  E=E+INT(RND*5)-2:F=F+INT(RND*5)-2
  220. 2910  E=E-W:F=F-V
  221. 2920  IF E<2  THEN  E=2+INT(RND*3)
  222. 2930  IF E>69 THEN  E=69-INT(RND*3)
  223. 2940  IF F<2  THEN  F=2+INT(RND*3)
  224. 2950  IF F>37 THEN  F=37-INT(RND*3)
  225. 2960   PUT (E,F),IM
  226. 2970   IF IMNEW=0 THEN IMNEW=1:GOTO 3020
  227. 2980   IF IMFLAG=0 GOTO 3010
  228. 2990   IF IMFLAG=1 THEN IMFLAG=0:PUT (EP,FP),IM1:GOTO 3020
  229. 3000   IF IMFLAG=2 THEN IMFLAG=0:PUT (EP,FP),IM2:GOTO 3020
  230. 3010   PUT (EP,FP),IM
  231. 3020   GOSUB 1180
  232. 3030   EP=E:FP=F
  233. 3040   IF G-S>5000 OR FLAG3=1 GOTO 3170
  234. 3050   GOSUB 1190
  235. 3060   FOR K=1 TO 2
  236. 3070   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  237. 3080   PLAY "L2 N0"
  238. 3090   LOCATE 24,1:PRINT "                                  ";
  239. 3100   PLAY "L16 N0"
  240. 3110   NEXT K
  241. 3120   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  242. 3130   PLAY "L1 N0":PLAY "L1 N0"
  243. 3140   LOCATE 24,1:PRINT "                                  ";
  244. 3150   GOSUB 1180
  245. 3160   FLAG3=1
  246. 3170  IF G>S THEN GOTO 3910
  247. 3180   REM * IMPERIAL FIGHTER ATTACKS *
  248. 3190   FLAG3=0:IMNEW=0:IMNEW1=0:IMPFIGH2=0:IMPFIGH3=0:PUT (E,F),IM
  249. 3200   GOSUB 1190
  250. 3210   DELTAX=29-E:DELTAY=19-F
  251. 3220   IF DELTAX>0 THEN E=E+1
  252. 3230   IF DELTAX<0 THEN E=E-1
  253. 3240   IF DELTAY>0 THEN F=F+1
  254. 3250   IF DELTAY<0 THEN F=F-1
  255. 3260   IF DELTAX=0 AND DELTAY=0 GOTO 3320
  256. 3270   PUT (E,F),IM:IF IMNEW1=0 THEN IMNEW1=1:GOTO 3290
  257. 3280   PUT (EP,FP),IM
  258. 3290   EP=E:FP=F
  259. 3300   PLAY "P32"
  260. 3310   GOTO 3210
  261. 3320   PUT (EP-4,FP-1),IM4
  262. 3330   PUT (EP,FP),IM
  263. 3340   PLAY "P4"
  264. 3350   PUT (EP-9,FP-2),IM5
  265. 3360   PUT (EP-4,FP-1),IM4
  266. 3370   PLAY "P4"
  267. 3380   PUT (EP-12,FP-6),IM6
  268. 3390   PUT (EP-9,FP-2),IM5
  269. 3400   PLAY "P4"
  270. 3410   PUT (EP-9,FP-7),IM7
  271. 3420   PUT (EP-12,FP-6),IM6
  272. 3430   PLAY "P4"
  273. 3440   PUT (EP-20,FP-14),IM8
  274. 3450   PUT (EP-9,FP-7),IM7
  275. 3460   PLAY "P4"
  276. 3470   PUT (EP-20,FP-14),IM8
  277. 3480   FOR J2=10000 TO 100 STEP -500
  278. 3490   SOUND J2,0.000999999*18.2
  279. 3500   NEXT J2
  280. 3510   FOR A=1 TO 50:NEXT A
  281. 3520   FOR J2=10000 TO 100 STEP -500
  282. 3530   SOUND J2,0.000999999*18.2
  283. 3540   NEXT J2
  284. 3550   G=G+25000
  285. 3560   E=INT(RND*61)+10:F=INT(RND*21)+10
  286. 3570   K=INT(RND*10)
  287. 3580   IF K>SKILL  THEN 3790
  288. 3590   KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  289. 3600   CLS
  290. 3610   PRINT  "BLAM!"
  291. 3620   FOR J2=1000 TO 37 STEP -10
  292. 3630   SOUND J2,0.01*18.2
  293. 3640   NEXT J2
  294. 3650   PRINT
  295. 3660   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  296. 3670   PRINT"YOU HAVE JUST BEEN SHOT DOWN BY AN";
  297. 3680   PRINT"IMPERIAL SKY FIGHTER!"
  298. 3690   PRINT
  299. 3700   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  300. 3710   PRINT"YOU ARE A HERO!"
  301. 3720   PRINT
  302. 3730   PRINT"UNFORTUNATELY, YOU ARE A DEAD HERO AND";
  303. 3740   PRINT"DEAD HEROES DON'T WIN WARS. DARTH VADER";
  304. 3750   PRINT"WINS!"
  305. 3760   PRINT
  306. 3770   PRINT"*********   YOU   LOSE!!   *********"
  307. 3780    GOTO  5310
  308. 3790   FOR K=1 TO 2
  309. 3800   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  310. 3810   PLAY "L2 N0"
  311. 3820   LOCATE 24,1:PRINT "                                 ";
  312. 3830   PLAY "L16 N0"
  313. 3840   NEXT K
  314. 3850   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  315. 3860   PLAY "L1 N0":PLAY "L1 N0"
  316. 3870   LOCATE 24,1:PRINT "                                 ";
  317. 3880   IM(0)=IM1(0):IM(1)=IM1(1):IM(2)=IM1(2):IM(3)=IM1(3):IM(4)=IM1(4):IM(5)=IM1(5):IM(6)=IM1(6)
  318. 3890   GOSUB 1180
  319. 3900   REM * DISPLAY DARTH VADER *
  320. 3910   GOSUB 1190
  321. 3920   IF J-S>26000 THEN GOSUB 1180:GOTO 5140
  322. 3930   IF J-S<20000 AND DVADER2=0 THEN DVADER2=1:DVFLAG=1:DV(0)=DV2(0):DV(1)=DV2(1):DV(2)=DV2(2):DV(3)=DV2(3):DVX=37:DVY=20:DVR1=2:DVR2=2
  323. 3940   IF J-S<10000 AND DVADER3=0 THEN DVADER3=1:DVFLAG=2:DV(0)=DV3(0):DV(1)=DV3(1):DV(2)=DV3(2):DV(3)=DV3(3):DV(4)=DV3(4):DV(5)=DV3(5):DV(6)=DV3(6):DVX=35:DVY=19:DVR1=4:DVR2=3
  324. 3950   IF FLAG2<>BYPASS THEN FLAG2=FLAG2+1:GOTO 3980
  325. 3960   FLAG2=0
  326. 3970  H=H+INT(RND*5)-2:I=I+INT(RND*5)-2
  327. 3980  H=H-W:I=I-V
  328. 3990  IF H<2  THEN  H=2+INT(RND*3)
  329. 4000  IF H>69 THEN  H=69-INT(RND*3)
  330. 4010  IF I<2  THEN  I=2+INT(RND*3)
  331. 4020  IF I>37 THEN  I=37-INT(RND*3)
  332. 4030   PUT (H,I),DV
  333. 4040   IF DVNEW=0 THEN DVNEW=1:GOTO 4090
  334. 4050   IF DVFLAG=0 GOTO 4080
  335. 4060   IF DVFLAG=1 THEN DVFLAG=0:PUT (HP,IP),DV1:GOTO 4090
  336. 4070   IF DVFLAG=2 THEN DVFLAG=0:PUT (HP,IP),DV2:GOTO 4090
  337. 4080   PUT (HP,IP),DV
  338. 4090   GOSUB 1180
  339. 4100   HP=H:IP=I
  340. 4110   IF J-S>5000 OR FLAG4=1 GOTO 4350
  341. 4120   GOSUB 1190
  342. 4130   IF DVGONE=0 GOTO 4240
  343. 4140   FOR K=1 TO 2
  344. 4150   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  345. 4160   PLAY "L2 N0"
  346. 4170   LOCATE 24,1:PRINT "                                  ";
  347. 4180   PLAY "L16 N0"
  348. 4190   NEXT K
  349. 4200   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER ATTACKS ****";
  350. 4210   PLAY "L1 N0":PLAY "L1 N0"
  351. 4220   LOCATE 24,1:PRINT "                                  ";
  352. 4230   GOTO 4330
  353. 4240   FOR K=1 TO 2
  354. 4250   LOCATE 24,1:PRINT "**** DARTH VADER ATTACKS ****";
  355. 4260   PLAY "L2 N0"
  356. 4270   LOCATE 24,1:PRINT "                             ";
  357. 4280   PLAY "L16 N0"
  358. 4290   NEXT K
  359. 4300   LOCATE 24,1:PRINT "**** DARTH VADER ATTACKS ****";
  360. 4310   PLAY "L1 N0":PLAY "L1 N0"
  361. 4320   LOCATE 24,1:PRINT "                             ";
  362. 4330   FLAG4=1
  363. 4340   GOSUB 1180
  364. 4350   IF J>S THEN GOTO 5140
  365. 4360   REM * DARTH VADER ATTACKS *
  366. 4370   FLAG4=0:DVNEW=0:DVNEW1=0:DVADER2=0:DVADER3=0:PUT (H,I),DV
  367. 4380   GOSUB 1190
  368. 4390   DELTAX=41-H:DELTAY=19-I
  369. 4400   IF DELTAX>0 THEN H=H+1
  370. 4410   IF DELTAX<0 THEN H=H-1
  371. 4420   IF DELTAY>0 THEN I=I+1
  372. 4430   IF DELTAY<0 THEN I=I-1
  373. 4440   IF DELTAX=0 AND DELTAY=0 GOTO 4500
  374. 4450   PUT (H,I),DV:IF DVNEW1=0 THEN DVNEW1=1:GOTO 4470
  375. 4460   PUT (HP,IP),DV
  376. 4470   HP=H:IP=I
  377. 4480   PLAY "P32"
  378. 4490   GOTO 4390
  379. 4500   IF DVGONE=0 THEN PUT(HP,IP-1),DV4 ELSE PUT(HP,IP-1),IM4
  380. 4510   PUT (HP,IP),DV
  381. 4520   PLAY "P4"
  382. 4530   IF DVGONE=0 THEN PUT(HP+3,IP-2),DV5 ELSE PUT(HP+3,IP-2),IM5
  383. 4540   IF DVGONE=0 THEN PUT(HP,IP-1),DV4 ELSE PUT(HP,IP-1),IM4
  384. 4550   PLAY "P4"
  385. 4560   IF DVGONE=0 THEN PUT(HP+2,IP-6),DV6 ELSE PUT(HP+2,IP-6),IM6
  386. 4570   IF DVGONE=0 THEN PUT(HP+3,IP-2),DV5 ELSE PUT(HP+3,IP-2),IM5
  387. 4580   PLAY "P4"
  388. 4590   IF DVGONE=0 THEN PUT(HP+1,IP-6),DV7 ELSE PUT(HP+1,IP-6),IM7
  389. 4600   IF DVGONE=0 THEN PUT(HP+2,IP-6),DV6 ELSE PUT(HP+2,IP-6),IM6
  390. 4610   PLAY "P4"
  391. 4620   IF DVGONE=0 THEN PUT(HP+2,IP-6),DV8 ELSE PUT(HP+2,IP-6),IM8
  392. 4630   IF DVGONE=0 THEN PUT(HP+1,IP-6),DV7 ELSE PUT(HP+1,IP-6),IM7
  393. 4640   PLAY "P4"
  394. 4650   IF DVGONE=0 THEN PUT(HP+2,IP-6),DV8 ELSE PUT(HP+2,IP-6),IM8
  395. 4660   FOR J2=10000 TO 100 STEP -500
  396. 4670   SOUND J2,0.000999999*18.2
  397. 4680   NEXT J2
  398. 4690   FOR A=1 TO 50:NEXT A
  399. 4700   FOR J2=10000 TO 100 STEP -500
  400. 4710   SOUND J2,0.000999999*18.2
  401. 4720   NEXT J2
  402. 4730   J=J+25000
  403. 4740  H=INT(RND*61)+10:I=INT(RND*21)+10
  404. 4750   K=INT(RND*10)
  405. 4760   IF K>SKILL+1  THEN 4910
  406. 4770   KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  407. 4780   CLS:PRINT "****  B O O M !  ****"
  408. 4790   FOR J2=1000 TO 37 STEP -10
  409. 4800   SOUND J2,0.01*18.2
  410. 4810   NEXT J2
  411. 4820   PRINT
  412. 4830   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  413. 4840   IF DVGONE=1 THEN PRINT"TOO BAD.  YOU HAVE BEEN SHOT DOWN.":GOTO 4880
  414. 4850   PRINT"YOU HAVE JUST BEEN PERSONALLY SHOT DOWN";
  415. 4860   PRINT"BY DARTH VADER.  THE FORCE WAS NOT WITH";
  416. 4870   PRINT"YOU."
  417. 4880   PRINT
  418. 4890   PRINT"*********   YOU   LOSE!!   *********"
  419. 4900    GOTO  5310
  420. 4910   IF DVGONE=0 GOTO 5030
  421. 4920   FOR K=1 TO 2
  422. 4930   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  423. 4940   PLAY "L2 N0"
  424. 4950   LOCATE 24,1:PRINT "                                 ";
  425. 4960   PLAY "L16 N0"
  426. 4970   NEXT K
  427. 4980   LOCATE 24,1:PRINT "**** IMPERIAL FIGHTER MISSED ****";
  428. 4990   PLAY "L1 N0":PLAY "L1 N0"
  429. 5000   LOCATE 24,1:PRINT "                                 ";
  430. 5010   DV(0)=DV1(0):DV(1)=DV1(1):DV(2)=DV1(2):DV(3)=DV1(3)
  431. 5020   GOTO 5140
  432. 5030   FOR K=1 TO 2
  433. 5040   LOCATE 24,1:PRINT "**** DARTH VADER MISSED ****";
  434. 5050   PLAY "L2 N0"
  435. 5060   LOCATE 24,1:PRINT "                            ";
  436. 5070   PLAY "L16 N0"
  437. 5080   NEXT K
  438. 5090   LOCATE 24,1:PRINT "**** DARTH VADER MISSED ****";
  439. 5100   PLAY "L1 N0":PLAY "L1 N0"
  440. 5110   LOCATE 24,1:PRINT "                            ";
  441. 5120   DV(0)=DV1(0):DV(1)=DV1(1):DV(2)=DV1(2):DV(3)=DV1(3):DV(4)=DV1(4):DV(5)=DV1(5):DV(6)=DV1(6)
  442. 5130   REM * X - WING FIGHTER ROUTINE *
  443. 5140   GOSUB 1180
  444. 5150  Z$=INKEY$
  445. 5160  IF VAL(Z$)>0 AND VAL(Z$)<10   THEN  Q=VAL(Z$)
  446. 5170   S=S+Q*100
  447. 5180   IF S>O  GOTO 6410
  448. 5190   REM * TIME ROUTINE *
  449. 5200    SEC2=VAL(RIGHT$(TIME$,2))
  450. 5210    SECNEW=SEC2
  451. 5220    IF SECNEW=SECOLD GOTO 5280
  452. 5230    IF SECNEW<SECOLD THEN N8=N8+1
  453. 5240    SECOLD=SEC2
  454. 5250    A2NEW=A2-(SEC2+(60*N8)-SEC1)
  455. 5260    IF A2NEW<0 THEN A2NEW=A2NEW+60:A1=A1-1:A2=A2+60
  456. 5270    IF A1<0 GOTO 6760
  457. 5280    GOTO   2320
  458. 5290   REM * DISPLAY SKY FIGHTER *
  459. 5300   IF J-S<10000 THEN A=3
  460. 5310   REM * NEW GAME *
  461. 5320    PRINT
  462. 5330  PRINT "HIT ENTER TO PLAY AGAIN, ESC TO GIVE UP"
  463. 5340  B$=INKEY$:IF B$=CHR$(13) THEN GOTO 1300 ELSE IF B$=CHR$(27) THEN CLS:WIDTH 80:SCREEN 0:KEY ON:END ELSE GOTO 5340
  464. 5350   REM * FIRE CANNON *
  465. 5360   KEY(2) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP
  466. 5370   PUT (2,2),LASAR
  467. 5380   FOR J2=5000 TO 100 STEP -250
  468. 5390     SOUND J2,0.01*18.2
  469. 5400   NEXT J2
  470. 5410   PUT (2,2),LASAR
  471. 5420   IF G-S<26000 AND ABS(IMX-E)<IMR1 AND ABS(IMY-F)<IMR2 GOTO 5450
  472. 5430   IF J-S<26000 AND ABS(DVX-H)<DVR1 AND ABS(DVY-I)<DVR2 GOTO 5580
  473. 5440   GOTO 5730
  474. 5450   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL3:PLAY "P64":PUT (E-2,F-3),EXPL3:NEXT I9
  475. 5460   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL4:PLAY "P64":PUT (E-2,F-3),EXPL4:NEXT I9
  476. 5470   PUT (E,F),IM
  477. 5480   IF IMR2=1 GOTO 5540
  478. 5490   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL5:PLAY "P64":PUT (E-2,F-3),EXPL5:NEXT I9
  479. 5500   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL6:PLAY "P64":PUT (E-2,F-3),EXPL6:NEXT I9
  480. 5510   IF IMR2=2 GOTO 5540
  481. 5520   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL7:PLAY "P64":PUT (E-2,F-3),EXPL7:NEXT I9
  482. 5530   FOR I9=1 TO 2:PUT (E-2,F-3),EXPL8:PLAY "P64":PUT (E-2,F-3),EXPL8:NEXT I9
  483. 5540   G=G+25000:E=INT(RND*61)+10:F=INT(RND*21)+10:FLAG3=0:IMNEW=0:IMPFIGH2=0:IMPFIGH3=0
  484. 5550   IMX=38:IMY=21:IMR1=1:IMR2=1
  485. 5560   IM(0)=IM1(0):IM(1)=IM1(1):IM(2)=IM1(2):IM(3)=IM1(3):IM(4)=IM1(4):IM(5)=IM1(5):IM(6)=IM1(6)
  486. 5570   GOTO 5730
  487. 5580   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL3:PLAY "P64":PUT (H-2,I-3),EXPL3:NEXT I9
  488. 5590   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL4:PLAY "P64":PUT (H-2,I-3),EXPL4:NEXT I9
  489. 5600   PUT (H,I),DV
  490. 5610   IF DVR2=1 GOTO 5670
  491. 5620   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL5:PLAY "P64":PUT (H-2,I-3),EXPL5:NEXT I9
  492. 5630   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL6:PLAY "P64":PUT (H-2,I-3),EXPL6:NEXT I9
  493. 5640   IF DVR2=2 GOTO 5670
  494. 5650   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL7:PLAY "P64":PUT (H-2,I-3),EXPL7:NEXT I9
  495. 5660   FOR I9=1 TO 2:PUT (H-2,I-3),EXPL8:PLAY "P64":PUT (H-2,I-3),EXPL8:NEXT I9
  496. 5670   J=J+25000:H=INT(RND*61)+10:I=INT(RND*21)+10:FLAG4=0:LOCATE 19,8:PRINT "KM TO IMPERIAL FIGHTER";
  497. 5680   DVNEW=0:DVADER2=0:DVADER3=0
  498. 5690   DVX=38:DVY=21:DVR1=1:DVR2=1
  499. 5700   IF DVGONE=0 THEN DV3(0)=IM3(0):DV3(1)=IM3(1):DV3(2)=IM3(2):DV3(3)=IM3(3):DV3(4)=IM3(4):DV3(5)=IM3(5):DV3(6)=IM3(6)
  500. 5710   DV(0)=DV1(0):DV(1)=DV1(1):DV(2)=DV1(2):DV(3)=DV1(3):DV(4)=DV1(4):DV(5)=DV1(5):DV(6)=DV1(6)
  501. 5720   DVGONE=1
  502. 5730   KEY(2) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON
  503. 5740   RETURN
  504. 5750   REM * FIRE  TORPEDO *
  505. 5760   KEY(1) STOP:KEY(11) STOP:KEY(12) STOP:KEY(13) STOP:KEY(14) STOP
  506. 5770   IF Z=0  THEN 3600
  507. 5780   FOR J2=1500 TO 100 STEP -20
  508. 5790     SOUND J2,0.01*18.2
  509. 5800     SOUND 3600-J2,0.01*18.2
  510. 5810   NEXT J2
  511. 5820   Z=Z-1
  512. 5830   IF O-S>10000  THEN 5990
  513. 5840   IF POINT(38,21)<>3 THEN 5880
  514. 5850   IF SKILL=0 GOTO 6100
  515. 5860   K=INT(RND*10)
  516. 5870   IF K>SKILL+1  THEN 6100
  517. 5880    FOR K=1 TO 2
  518. 5890   LOCATE 24,1:PRINT "**** TORPEDO  MISSED  ****";
  519. 5900   PLAY "L2 N0"
  520. 5910   LOCATE 24,1:PRINT "                          ";
  521. 5920   PLAY "L16 N0"
  522. 5930    NEXT K
  523. 5940   LOCATE 24,1:PRINT "**** TORPEDO  MISSED  ****";
  524. 5950   PLAY "L1 N0":PLAY "L1 N0"
  525. 5960   LOCATE 24,1:PRINT "                          ";
  526. 5970   IF Z<=0  THEN 4780
  527. 5980   GOTO 6080
  528. 5990  FOR K=1 TO 2
  529. 6000   LOCATE 24,1:PRINT "**** OUT  OF  RANGE  ****";
  530. 6010   PLAY "L2 N0"
  531. 6020   LOCATE 24,1:PRINT "                         ";
  532. 6030   PLAY "L16 N0"
  533. 6040  NEXT K
  534. 6050   LOCATE 24,1:PRINT "**** OUT  OF  RANGE  ****";
  535. 6060   PLAY "L1 N0":PLAY "L1 N0"
  536. 6070   LOCATE 24,1:PRINT "                         ";
  537. 6080   KEY(1) ON:KEY(11) ON:KEY(12) ON:KEY(13) ON:KEY(14) ON
  538. 6090    RETURN
  539. 6100   REM * GAME WON *
  540. 6110   KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  541. 6120   FOR SCALE=1 TO 24
  542. 6130   DRAW"C3;S=SCALE;BM38,21;NM+6,0;NM-6,0;NM+0,-3;NM+0,3;NM-6,3;NM+6,-3;NM-6,-3;NM+6,3;NM+3,-3;NM-3,3;NM+3,3;NM-3,-3;NM+6,2;NM-6,-2;NM-6,1;NM+6,-1;NM+1,3;NM-1,-3"
  543. 6140   NEXT SCALE
  544. 6150   CLS
  545. 6160   FOR K=1 TO 5
  546. 6170   SOUND 37,0.1*18.2
  547. 6180   SCREEN 0:WIDTH 40
  548. 6190   FOR A=1 TO 10:NEXT A
  549. 6200   SCREEN 1:WIDTH 80
  550. 6210   NEXT K
  551. 6220   WIDTH 40
  552. 6230   CLS:PRINT:PRINT:PRINT
  553. 6240   PRINT"* * * * * * * * * * * * * * * * * * * *";
  554. 6250   PRINT"*                                     *";
  555. 6260   PRINT"*                                     *";
  556. 6270   PRINT"*    THE  FORCE  IS  WITH  YOU  !!    *";
  557. 6280   PRINT"*                                     *";
  558. 6290   PRINT"* YOU HAVE DESTROYED THE DEATH STAR ! *";
  559. 6300   PRINT"*                                     *";
  560. 6310   PRINT"*    YOU HAVE SAVED THE REPUBLIC !    *";
  561. 6320   PRINT"*                                     *";
  562. 6330   PRINT"* PRINCESS LEAH WILL LOVE YOU ALWAYS! *";
  563. 6340   PRINT"*                                     *";
  564. 6350   PRINT"* * * * * * * * * * * * * * * * * * * *"
  565. 6360   SOUND 525.25,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 587.33,18.2/6:SOUND 1046.6,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 587.33,18.2/6
  566. 6370   SOUND 1046.5,18.2:SOUND 783.99,18.2/2:SOUND 698.46,18.2/6:SOUND 659.26,18.2/6:SOUND 698.46,18.2/6:SOUND 587.33,18.2
  567. 6380   PRINT
  568. 6390   GOTO   5310
  569. 6400   REM * COLLISION WITH DEATH STAR *
  570. 6410  KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  571. 6420   DELTAX=35-M:DELTAY=18-N
  572. 6430   IF DELTAX>0 THEN M=M+1
  573. 6440   IF DELTAX<0 THEN M=M-1
  574. 6450   IF DELTAY>0 THEN N=N+1
  575. 6460   IF DELTAY<0 THEN N=N-1
  576. 6470   IF DELTAX=0 AND DELTAY=0 GOTO 6530
  577. 6480   PUT (M,N),DS
  578. 6490   PUT (MP,NP),DS
  579. 6500   MP=M:NP=N
  580. 6510   PLAY "P32"
  581. 6520   GOTO 6420
  582. 6530   FOR RAD=4 TO 20
  583. 6540   CIRCLE(38,21),RAD,3
  584. 6550   PLAY "P32"
  585. 6560   NEXT RAD
  586. 6570   CLS:PRINT "CRASH"
  587. 6580   FOR J2=1000 TO 37 STEP -10
  588. 6590   SOUND J2,0.01*18.2
  589. 6600   NEXT J2
  590. 6610   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  591. 6620   PRINT
  592. 6630   PRINT"DARTH VADER IS LAUGHING AT YOU."
  593. 6640   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  594. 6650   PRINT
  595. 6660   PRINT"YOU HAVE JUST COLLIDED WITH THE DEATH";
  596. 6670   PRINT"STAR.  THEY DID NOT EVEN HEAR THE";
  597. 6680   PRINT"COLLISION.  YOU DID NOT EVEN SCRATCH";
  598. 6690   PRINT"THE DEATH STAR'S PAINT, BUT YOU ARE   ";
  599. 6700   PRINT"DEAD!"
  600. 6710   PRINT
  601. 6720   PRINT"*********   YOU  LOSE!!   *********"
  602. 6730   PRINT
  603. 6740    GOTO  5310
  604. 6750   REM * OUT OF TIME *
  605. 6760   KEY(1) OFF:KEY(2) OFF:KEY(11) OFF:KEY(12) OFF:KEY(13) OFF:KEY(14) OFF
  606. 6770   CLS:PRINT "TOO LATE!"
  607. 6780   FOR J2=1000 TO 37 STEP -10
  608. 6790   SOUND J2,0.01*18.2
  609. 6800   NEXT J2
  610. 6810   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  611. 6820   PRINT
  612. 6830   PRINT"DARTH VADER IS LAUGHING AT YOU."
  613. 6840   PLAY "L1 N0":PLAY "L1 N0":PLAY "L1 N0"
  614. 6850   PRINT
  615. 6860   PRINT"THE DEATH STAR HAS JUST DESTROYED";
  616. 6870   PRINT"PRINCESS LEAH AND THE ENTIRE REBEL";
  617. 6880   PRINT"STRONGHOLD";
  618. 6890   PRINT
  619. 6900   PRINT"*********   YOU  LOSE!!   *********"
  620. 6910   PRINT
  621. 6920    GOTO  5310
  622. 6930   CLS
  623. 6940   PRINT"       STAR  PILOT  INSTRUCTIONS"
  624. 6950   PRINT
  625. 6960   PRINT"    THE DEATH  STAR SPACE STATION, UNDER";
  626. 6970   PRINT"THE COMMAND OF DARTH  VADER, IS THE MOST";
  627. 6980   PRINT"POWERFUL  WEAPON  THE UNIVERSE  HAS EVER";
  628. 6990   PRINT"KNOWN.   A FRONTAL  ATTACK BY  ANY OTHER";
  629. 7000   PRINT"CRAFT WOULD BE ABSOLUTE SUICIDE. HOWEVER";
  630. 7010   PRINT"INTELLIGENCE DELIVERED  TO  OUR REPUBLIC";
  631. 7020   PRINT"HEADQUARTERS  BY  THE  ANDROIDS R2D2 AND";
  632. 7030   PRINT"C3PO GIVES A FAINT  HOPE OF A SUCCESSFUL";
  633. 7040   PRINT"ATTACK  BY A SMALL ONE OR TWO  PASSENGER";
  634. 7050   PRINT"X-WING FIGHTER."
  635. 7060   PRINT
  636. 7070   PRINT"    THERE IS A SMALL, UNSHIELDED EXHAUST";
  637. 7080   PRINT"PORT  ON  THE  SURFACE OF THE DEATH STAR";
  638. 7090   PRINT"THAT LEADS DIRECTLY TO THE MAIN REACTOR.";
  639. 7100   PRINT"SINCE IT IS AN EMERGENCY THERMAL PORT IN";
  640. 7110   PRINT"CASE THE REACTOR OVERHEATS, IT COULD NOT";
  641. 7120   PRINT"BE SHIELDED."
  642. 7130   PRINT
  643. 7140   INPUT"     (PRESS ENTER  TO  CONTINUE)",B$
  644. 7150   CLS
  645. 7160   PRINT
  646. 7170   PRINT"    IF YOU CAN  SLIP YOUR  SMALL FIGHTER";
  647. 7180   PRINT"PAST THE  DEATH STAR'S DEFENSES AND MAKE";
  648. 7190   PRINT"A DIRECT HIT ON THE THERMAL EXHAUST PORT";
  649. 7200   PRINT"WITH  A  TORPEDO, THERE IS A CHANCE THAT";
  650. 7210   PRINT"THE  TORPEDO  WILL   PENETRATE  TO   THE";
  651. 7220   PRINT"MAIN REACTOR AND START A CHAIN REACTION,";
  652. 7230   PRINT"DESTROYING THE DEATH STAR."
  653. 7240   PRINT
  654. 7250   PRINT"    IT IS A SLIM  CHANCE,  BUT IT IS THE";
  655. 7260   PRINT"ONLY  HOPE  THE  REPUBLIC HAS.   OBI-WAN";
  656. 7270   PRINT"KENOBI GAVE  HIS LIFE TO GET THE MESSAGE";
  657. 7280   PRINT"HERE, SO HE CONSIDERED IT IMPORTANT."
  658. 7290   PRINT:PRINT:PRINT:PRINT
  659. 7300   PRINT"PRESS ENTER FOR X-WING FIGHTER          ";
  660. 7310   INPUT"      FAMILIARIZATION",B$
  661. 7320   CLS
  662. 7330   PRINT"        REPUBLIC  X-WING  FIGHTER       "
  663. 7340   PRINT
  664. 7350   PRINT"     THE X-WING  FIGHTER IS A SMALL  ONE";
  665. 7360   PRINT"MAN  SPACESHIP  THAT IS,  QUITE FRANKLY,";
  666. 7370   PRINT"OBSOLETE.  IT IS ARMED ONLY WITH A LASER";
  667. 7380   PRINT"CANNON  AND  THREE  TORPEDOES.   USE THE";
  668. 7390   PRINT"LASER CANNON  TO  FIGHT OFF ANY IMPERIAL";
  669. 7400   PRINT"FIGHTERS AND SAVE THE  TORPEDOES FOR THE";
  670. 7410   PRINT"DEATH STAR."
  671. 7420   PRINT
  672. 7430   PRINT"     THE  TARGET  ACQUISITION  RADAR CAN";
  673. 7440   PRINT"DETECT IN  EXCESS OF  100,000 KILOMETERS";
  674. 7450   PRINT"AWAY, BUT CAN ONLY DISPLAY TARGETS WITH-";
  675. 7460   PRINT"IN  20,000 KM.   THEREFORE,  YOU WILL BE";
  676. 7470   PRINT"WARNED OF APPROACHING  TARGETS  ON  YOUR";
  677. 7480   PRINT"CONTROL PANEL  BEFORE THEY ARE DISPLAYED";
  678. 7490   PRINT"ON THE RADAR SCREEN."
  679. 7500   PRINT
  680. 7510   INPUT"     (PRESS ENTER  TO  CONTINUE)",B$
  681. 7520   CLS
  682. 7530   PRINT
  683. 7540   PRINT"     THE LASER  CANNON IS AN  ANTIQUATED";
  684. 7550   PRINT"WEAPON.  TO  HIT AN ENEMY, YOU MUST HAVE";
  685. 7560   PRINT"HIM  IN THE  EXACT CENTER  OF THE  CROSS";
  686. 7570   PRINT"HAIRS ON YOUR RADAR SCREEN. THEN YOU MAY";
  687. 7580   PRINT"FIRE THE  LASER CANNON BY  TYPING THE F1";
  688. 7590   PRINT"KEY ON YOUR CONTROL PANEL."
  689. 7600   PRINT
  690. 7610   PRINT"     YOUR  THREE  TORPEDOES ARE COMPUTER";
  691. 7620   PRINT"GUIDED,  BUT ALSO QUITE  LIMITED.   MAKE";
  692. 7630   PRINT"SURE THAT YOU ARE WITHIN 10000 KM OF THE";
  693. 7640   PRINT"DEATH STAR  AND THAT YOU HAVE  SOME PART";
  694. 7650   PRINT"OF  THE SPACE STATION  IN THE CENTER  OF";
  695. 7660   PRINT"THE  CROSS HAIRS  ON YOUR  RADAR SCREEN.";
  696. 7670   PRINT"EVEN THEN,  SINCE IT TAKES A PERFECT HIT";
  697. 7680   PRINT"ON THE EXHAUST PORT TO DESTROY THE DEATH";
  698. 7690   PRINT"STAR,  YOU  MAY  REQUIRE  MORE  THAN ONE";
  699. 7700   PRINT"TORPEDO.   TYPE THE  F2  KEY TO FIRE THE";
  700. 7710   PRINT"TORPEDO."
  701. 7720   PRINT
  702. 7730   INPUT"    (PRESS ENTER  TO  CONTINUE)",B$
  703. 7740   CLS
  704. 7750   PRINT
  705. 7760   PRINT"    THE SPEED OF YOUR SHIP IS CONTROLLED";
  706. 7770   PRINT"BY TYPING THE NUMBERS  1 THROUGH 9  (FOR";
  707. 7780   PRINT"MACH  10 THROUGH 90  RESPECTIVELY).  THE";
  708. 7790   PRINT"MOVEMENT OF YOUR  SHIP IS  CONTROLLED BY";
  709. 7800   PRINT"THE CURSOR CONTROLS.  SINCE THESE INPUTS";
  710. 7810   PRINT"MOVE YOUR SHIP  AND NOT THE TARGETS, THE";
  711. 7820   PRINT"TARGETS APPEAR  TO  MOVE IN THE OPPOSITE";
  712. 7830   PRINT"DIRECTION.   ALSO, YOU  CAN  EXPECT  THE";
  713. 7840   PRINT"ENEMY TO TAKE EVASIVE ACTION."
  714. 7850   PRINT
  715. 7860   PRINT"    WHEN SELECTING THE SKILL LEVEL, 0 IS";
  716. 7870   PRINT"THE EASIEST  GAME AND 3 IS THE  HARDEST.";
  717. 7880   PRINT"SKILL LEVEL  0  PROVIDES THE BEST CHANCE";
  718. 7890   PRINT"OF BEING  MISSED BY THE  FIGHTERS AND OF";
  719. 7900   PRINT"HITTING  THE DEATH STAR.  LEVEL  0  ALSO";
  720. 7910   PRINT"PROVIDES  THE LARGEST  TIME LIMIT BEFORE";
  721. 7920   PRINT"THE DEATH STAR DESTROYS THE REBEL BASE."
  722. 7930   PRINT
  723. 7940   PRINT
  724. 7950   INPUT"PRESS ENTER FOR  TAKE-OFF",B$
  725. 7960   CLS
  726. 7970   PRINT"****************************************"
  727. 7980   PRINT
  728. 7990   PRINT"    MAY  THE  FORCE  BE  WITH  YOU"
  729. 8000   PRINT
  730. 8010   PRINT"****************************************"
  731. 8020   PLAY "L1 N0":PLAY "L1 N0"
  732. 8030    GOTO   1300
  733.